#include <iostream>
#include <signal.h>
#include <unistd.h>
#include <sys/types.h>

using namespace std;

void sigcb(int signo)
{
  cout << "signal num : " << endl;
}

int main()
{
  signal(2, sigcb);
  signal(40, sigcb);


  sigset_t set, oldset;

  sigemptyset(&set);
  sigemptyset(&oldset);

  sigaddset(&set, 2);
  sigaddset(&set, 40);

  sigprocmask(SIG_BLOCK, &set, &oldset);
  
  while(1)
  {
    cout << "main pid : " << getpid() << endl;
    sleep(1);
  }

  return 0;
}









/*
void sigcb(int signo)
{
  cout << "signal num : " << signo << endl;
}
int main()
{
  signal(2, sigcb);

  while(true)
  {
    sleep(1);
  }
  return 0;
}*/

// void sigcb(int signo)
// {
//   cout << "signal num : " << signo << endl;
// }

// int main()
// {
//   struct sigaction act, oldact;
//   act.sa_handler = sigcb;
//   act.sa_flags = 0;
  
//   sigemptyset(&act.sa_mask);

//   sigaction(2, &act, &oldact);

//   while(1)
//   {
//     sleep(1);
//   }
//   return 0;
// }
